home *** CD-ROM | disk | FTP | other *** search
- -----------------------------------------------------------------
- compr23.txt - last modified Sun Apr 28 23:40:58 1991 CST
- -----------------------------------------------------------------
- Universal archive utilities package v2.3 - Mark B. Foster
-
- See the 'utility history' section of this file for changes from
- v2.2.
-
- -----------------------------------------------------------------
- The utilities were assembled using A86 v3.22. Special thanks to
- Pat Myrto, Mike Arst, Patrick Lee, Seth Chaiklin, and Eric Isaacson.
-
- Feel free to contact me with comments or problems, and especially
- with news of updated or new compression programs. I receive email
- regularly at the following BBS:
-
- Programmers Resource: (206) 823-1917
-
- I occasionally log on to the following services as well:
-
- ExecRegion BBS: (312) 267-4749
- GEnie: M.FOSTER3
-
- I finally junked my Compu$erve account and, as a result, am now
- without an Internet mail address. If you know of a UNIX site in the
- Chicago area that has space for another user, please contact me.
-
- If you have renamed any of my utilities (or the supported compression
- programs), let me know and I will assemble custom versions for you as
- time permits.
-
- Although these utilities have been extensively tested and all known
- bugs eradicated, I explicitly disclaim any warranty whatsoever for
- them. Any and all risk of using them is yours alone.
-
- -----------------------------------------------------------------
- Introduction.
- -----------------------------------------------------------------
- This archive contains four extremely fast utilities that simplify
- the routine chores of extracting from, freshening, deleting from,
- and viewing file lists in compressed files:
-
- xt - extractor for zip, lzh, lzs, pak, arc, arj, dwc, md,
- zoo, uue, sh, tar, Z, sit, pit archives
-
- fr - freshener for zip, lzh, lzs, pak, arc, arj, zoo, dwc
- archives
-
- dl - deleter for zip, lzh, lzs, pak, arc, arj, zoo, dwc
- archives
-
- vw - file lister for zip, lzh, lzs, pak, arc, arj, dwc, md,
- zoo, tar, sit, pit archives
-
- They first identify the kind of archive(s) being operated on (by
- checking the internal archive format), and then invoke the
- appropriate compression programs to perform the desired task.
-
- -----------------------------------------------------------------
- Program syntax.
- -----------------------------------------------------------------
- xt usage: xt [-o -u] archive [filename{s}]
-
- -o overwrite existing output files
- -u unlink (delete) archive(s) after file extraction
-
- -----------------------------------------------------------------
- fr usage: fr [-c -s] archive [filename{s}]
-
- -c set pak v2.x to use Crush for true-pak archives
-
- -s set pkzip v1.10 to use Shrink
- set pak to use Squash for arc-format archives
-
- -----------------------------------------------------------------
- dl usage: dl archive filename[s]
-
- -----------------------------------------------------------------
- vw usage: vw archive [filename{s}]
-
- -----------------------------------------------------------------
- General notes.
- -----------------------------------------------------------------
- Archive extensions need not be specified.
-
- Wildcards and pathnames are supported. For example, 'xt *' is
- equivalent to 'xt *.*', 'xt foo*' to 'xt foo*.*', and so on.
-
- The '/' switch character may be used instead of '-'.
-
- The compression programs must reside on the path or in the same
- directory as the utilities.
-
- The utilities return a nonzero errorlevel upon encountering an error
- during execution.
-
- A cryptic usage message may be viewed by entering the utility name
- with no parameters at the DOS prompt.
-
- The version ID and usage message may be viewed with the command
- 'type n' (where 'n' is the utility name) at the DOS prompt.
-
- -----------------------------------------------------------------
- Specific notes.
- -----------------------------------------------------------------
- Each of the tables in this section lists the programs supported by
- the utilities, and the switches passed to them. A dot ('.')
- indicates no arguments. Blanks denote that an option is not
- available.
-
- -----------------------------------------------------------------
- Zip-format notes.
-
- Pkzip, written by Phil Katz, is the de facto BBS archiver of choice
- in the U.S. It uses two basic compression algorithms: a Huffman/
- Sliding Window with 2-3 Shanno-Fano trees and a 4-8k sliding
- dictionary (Implode), and variable length 9-13 bit Lempel-Ziv 77
- compression with an 8k buffer and partial clearing (Shrink, apparantly
- a variant of the older Squash).
-
- Xt and vw look first for pkunzip.exe, then for pak.exe if pkunzip
- is not found; fr and dl look first for pkzip.exe, then for pak.exe.
-
- For pkzip.exe v1.10, fr defaults to Implode; the 's' switch sets
- pkzip to use Shrink instead.
-
- +---------+------+----+-------+------+-------+----+----+
- | pgm | vers | xt | xt -o | fr | fr -s | dl | vw |
- +=========+======+====+=======+======+=======+====+====+
- | pkzip | 1.10 | | | -f | -fes | -d | |
- +---------+------+----+-------+------+-------+----+----+
- | pkunzip | 1.10 | . | -o | | | | -v |
- +---------+------+----+-------+------+-------+----+----+
- | pak | 2.51 | e | e /wa | f | | d | v |
- +---------+------+----+-------+------+-------+----+----+
-
- -----------------------------------------------------------------
- Pak notes.
-
- Pak, written by Gus Smedstad, is without doubt the most versatile
- archiving program available. Not only does it employ highly
- efficient compression routines of its own, but it handles zip
- archives and many older compression formats (see below) as well.
-
- Pak's generally most efficient compression algorithm is Distill, a
- Huffman/Sliding Window scheme with an 8k buffer, similar in some
- respects to pkzip's Implode.
-
- Pak's unique contribution in Lempel-Ziv-Welch (LZW) algorithms is
- Crush, which uses variable length 2-13 bit LZW compression with
- run-length encoding and an 8k buffer. Crush is usually more efficient
- than either Squash or Crunch.
-
- For most text and executable files, the files created by pak are
- slightly larger than those created by pkzip. However, for many
- other file types, e.g., Windows bitmaps and MSC function libraries,
- pak archives are quite a bit smaller.
-
- C and Pascal object files utilizing all the compression algorithms
- employed by pak are available in a programmers toolkit.
-
- With true-pak archives, fr sets pak.exe to use Distill by default.
- The command 'fr -c' sets pak to use Crush instead.
-
- Pak requires about 195k of memory. When 195k is not available, the
- utilities abort with a status message.
-
- +-------+------+----+-------+----+-------+----+----+
- | pgm | vers | xt | xt -o | fr | fr -c | dl | vw |
- +=======+======+====+=======+====+=======+====+====+
- | pak | 2.51 | e | e /wa | f | f /cr | d | v |
- +-------+------+----+-------+----+-------+----+----+
-
- -----------------------------------------------------------------
- Arc-format notes.
-
- Largely superseded by the compression methods employed by pak,
- pkzip, and lha (lharc), pre-Crush 'arc' formats are still sometimes
- encountered. Pkarc and pkxarc, older programs written but no
- longer supported by Phil Katz, handle them extremely fast.
-
- These older formats include:
-
- Pack - replacement of repeated byte values by codes,
- a method known as run-length encoding (RLE)
-
- Squeeze - Huffman encoding
-
- crunch - fixed length 12 bit Lempel-Ziv-Welch (LZW)
- compression with or without RLE, with a 4k buffer
-
- Crunch - variable length 9-12 bit LZW compression with
- RLE, with a 4k buffer
-
- Squash - variable-length 9-13 bit LZW compression without
- RLE, with an 8k buffer.
-
- Xt and vw look first for pkxarc.exe, then for pak.exe if pkxarc is
- not found; fr and dl look first for pkarc.exe, then for pak.exe.
-
- If pak is used for arc-format archives, fr sets pak to use Crunch
- by default. The command 'fr -s' sets pak to use Squash instead.
-
- Pkpak.exe and pkunpak.exe, essentially the same programs as pkarc
- and pkxarc, can be substituted for the latter programs simply by
- renaming them pkarc.exe and pkxarc.exe respectively.
-
- +---------+------+----+-------+------+-------+----+----+
- | pgm | vers | xt | xt -o | fr | fr -s | dl | vw |
- +=========+======+====+=======+======+=======+====+====+
- | pkarc | 3.6 | | | f | | d | |
- +---------+------+----+-------+------+-------+----+----+
- | pkxarc | 3.6 | -e | -r | | | |-vv |
- +---------+------+----+-------+------+-------+----+----+
- | pak | 2.51 | -e |-e /wa | f /c | f /s | d | v |
- +---------+------+----+-------+------+-------+----+----+
-
- -----------------------------------------------------------------
- Lha (lharc) and larc notes.
-
- Though relatively slow, lha (lharc) has enjoyed considerable
- popularity for generally producing the smallest archives of any
- compression program - until the advent of arj, that is (see below).
- Lha uses a new, static Huffman digital TRIE Lempel-Ziv 77 (LZ 77)
- encoding method with an 8k window. Its predecessor lharc uses an
- LZ 77 adaptive Huffman compression algorithm with a 4k buffer. Lha
- and lharc were written by Haruyasu Yoshizaki. The C source code for
- his algorithms is available.
-
- Larc, one of lharc's less efficient predecessors, employs LZ 77
- compression with adaptive arithmetic encoding. Larc was written by
- Haruhito Okumura.
-
- For lzs archives xt, dl, and vw look first for larc.exe, then for
- lha.exe if larc is not found. Because larc and lha use incompatible
- compression methods, fr looks only for larc.
-
- +-------+------+------+-------+----+----+----+
- | pgm | vers | xt | xt -o | fr | dl | vw |
- +=======+======+======+=======+====+====+====+
- | lha | 2.12 | e /c | e /cm | f | d | l |
- +-------+------+------+-------+----+----+----+
- | larc | 3.3 | e /c |e /c/o | f | d | l |
- +-------+------+------+-------+----+----+----+
-
- -----------------------------------------------------------------
- Arj notes.
-
- Arj is a relatively recent entry from Robert K. Jung that makes
- the smallest archives, generally speaking, of any major DOS
- compression program. The latest versions are also fairly fast.
-
- Three of its compression methods use a Lempel-Ziv 77 (LZ 77) Sliding
- Window algorithm with static Huffman encoding. A fourth method
- uses a LZ 77 Sliding Window with pointer/length unary encoding.
- ANSI C source for some of the algorithms is included with the
- distribution package. ANSI C source for arj.exe itself is available
- from the author.
-
- +-------+------+------+---------+----+----+----+
- | pgm | vers | xt | xt -o | fr | dl | vw |
- +=======+======+======+=========+====+====+====+
- | arj | 2.00 | e -c | e -c -y | f | d | l |
- +-------+------+------+---------+----+----+----+
-
- -----------------------------------------------------------------
- Dwc and mdcd notes.
-
- DWC, by Dean Cooper, is an older but very fast archiving program
- that uses variable length 9-12 bit Lempel-Ziv-Welch (LZW) compression
- with run-length encoding (RLE) and a 4k buffer (a variant of Crunch).
-
- MDCD, by Michael Davenport, is also older and employs variable
- length 9-13 bit LZW compression with RLE (a variant of Squash).
- The Pascal and ASM source code is available.
-
- +-------+------+----+-------+----+----+----+
- | pgm | vers | xt | xt -o | fr | dl | vw |
- +=======+======+====+=======+====+====+====+
- | dwc |a5.01 | e | ew | fz | d | v |
- +-------+------+----+-------+----+----+----+
- | mdcd | 1.0 | d | r | | | l |
- +-------+------+----+-------+----+----+----+
-
- -----------------------------------------------------------------
- Zoo and looz notes.
-
- Although the archives created by zoo are not particularly small
- by today's standards, zoo is the most versatile utility for
- transferring files between DOS and UNIX and, indeed, is second
- only to pak in overall utility if archive size is not primary.
- It uses a variable length 9-12 bit Lempel-Ziv-Welch algorithm with
- run-length-encoding and a 4k buffer (a type of Crunch). Zoo and zoo
- archive extractor and lister looz were written by Rahul Dhesi. The
- C source code for zoo is available.
-
- Xt and vw look first for looz.exe, then for zoo.exe if looz is not
- found.
-
- Fr first directs zoo to freshen an archive, then to pack it. Dl
- first directs zoo to delete from an archive, then to pack it.
-
- Fr and dl require one or more filename arguments.
-
- The utilities also operate upon bak archives created by zoo.
-
- +-------+------+----+-------+------+----+----+
- | pgm | vers | xt | xt -o | fr | dl | vw |
- +=======+======+====+=======+======+====+====+
- | zoo | 2.01 | x | xSO | auP: | DP | l |
- +-------+------+----+-------+------+----+----+
- | looz | 2.1 | x | | | | l |
- +-------+------+----+-------+------+----+----+
-
- -----------------------------------------------------------------
- Uudecode and shar notes.
-
- These utilities are DOS ports of their UNIX namesakes. Uudecode
- and its companion utility uuencode are used to transfer binary
- files via electronic mail. Shar is sometimes used on UNIX systems
- for concatenating source code and other text files for electronic
- mail transfer as well.
-
- Uuencode maps ASCII characters onto a standard character set for
- electronic transmission. The basic scheme is to break groups of 3
- eight bit characters (24 bits) into 4 six bit characters and then
- add a space to each six bit character.
-
- Shar does not compress but rather concatenates files.
-
- Xt should work fine with standard sh archives, as long as any
- prepended text is less than 256 characters in length. This limit
- might be removed upon a showing of interest.
-
- When extracting from a sh archive, shar automatically overwrites
- files of the same name if they exist in the target directory. Thus,
- the command 'xt foo.sh bar.doc' will overwrite bar.doc if it exists
- in the current directory.
-
- +----------+------------------------+----+
- | pgm | version | xt |
- +==========+========================+====+
- | uudecode | Richard Marks - v4.13 | . |
- +----------+------------------------+----+
- | shar | unknown - 09/14/87 | -u |
- +----------+------------------------+----+
-
- -----------------------------------------------------------------
- Tar and compress notes.
-
- These utilities are DOS ports of their UNIX namesakes. Often used
- in tandem to maximally compress source code on UNIX, they are also
- sometimes used for transferring files between DOS and UNIX. The C
- source code for compress and for both tar versions is available.
-
- Tar does not compress but rather concatenates files.
-
- Compress is unique among Lempel-Ziv-Welch (LZW) archiving programs
- in that it offers variable length 9-16 bit compression with RLE,
- rather than the more common 9-12 bit (Crunch) or 9-13 bit (Squash)
- LZW routines. It is extremely efficient with ASCII text files.
-
- Compress requires about 450k of memory. If less than 450k is
- available, xt aborts with a status message.
-
- Compress cannot uncompress Z archives nondestructively. Thus,
- 'xt foo.z' automatically overwrites 'foo' if it exists in the
- current directory, as well as unlinking 'foo.z'.
-
- +----------+------------------------+------+-----+-----+
- | pgm | version | xt |xt -o| vw |
- +==========+========================+======+=====+=====+
- | tar | Gnu v1.09 | xfvk | xfv | tfv |
- +----------+------------------------+------+-----+-----+
- | tar | Eric Roskos - 10/24/88 | xfvk | xfv | tfv |
- +----------+------------------------+------+-----+-----+
- | compress | Pat Myrto - 06/19/88 | -dv | | |
- +----------+------------------------+------+-----+-----+
-
- -----------------------------------------------------------------
- Unstufit and unpackit notes.
-
- These utilities are useful for transferring sit (stuffit) and pit
- (packit) archives from the Macintosh O/S to DOS.
-
- Though not very efficient, Stuffit is the most popular Macintosh
- compression program, presumably for lack of real competition. It
- uses three different compression methods: run-length encoding, a
- fixed length 14 bit Lempel-Ziv-Welch algorithm with an 18k buffer,
- and Huffman encoding.
-
- For sit archives, xt and vw search first for unstufit.exe, then for
- unsit.exe if unstufit is not found.
-
- +----------+------------------------+-----+----+
- | pgm | version | xt | vw |
- +==========+========================+=====+====+
- | unsit | Brian Uechi - v2.3 | e | v |
- +----------+------------------------+-----+----+
- | unstufit | Scott McGinnis - v1.0 | /de | v |
- +----------+------------------------+-----+----+
- | unpackit | Scott McGinnis - v1.0 | /de | v |
- +----------+------------------------+-----+----+
-
- -----------------------------------------------------------------
- Utility history.
- -----------------------------------------------------------------
- compr23 05-01-91 Updated utilities for lha v2.12.
- Updated utilities for arj v2.00.
- Corrected vw usage message.
- Minor expansion/correction of documentation.
-
- -----------------------------------------------------------------
- compr22 01-23-91 Added support for arj v0.20.
- Added support for Gnu tar v1.09.
- Updated utilities for uuencode/uudecode v4.13.
- Deleted mn.com and ma.com (mr) from distribution;
- just wasn't happy with them.
- Corrected parsing of zip-format archives for
- processing by pak.
- Expanded documentation to be more informative
- and opinionated.
-
- -----------------------------------------------------------------
- compr21 12-01-90 Updated utilities for pak v2.51.
- Abbreviated the mr help key list to one line.
-
- -----------------------------------------------------------------
- compr20 05-30-90 Initial release of dl.com.
- Updated utilities for pkzip/unzip v1.10.
- Minor optimizations of fr.com.
-
- -----------------------------------------------------------------
- compr19 01-20-90 Reversed arc-format pak and pkarc/xarc
- precedence.
- Reversed zoo and looz precedence.
- Reversed unsit and unstufit precedence.
-
- -----------------------------------------------------------------
- compr18 01-01-90 Added support for unsit v2.3.
- Removed support for pkzip/unzip v0.92.
- Improved xt and vw tar archive parsing
- routine to reduce number of false hits.
-
- -----------------------------------------------------------------
- compr17 12-14-89 Added support for uue (uuencode), sh (shar),
- tar, Z (compress), sit (stuffit), and pit
- (packit) archives.
- Added standard key choices at 'mr' prompt.
- Added pak bypass based on available memory.
- Corrected parameter error in xt.
- Corrected name of larc.exe in fr and an error
- in 'lharc and larc notes'.
- Renamed mr_n.com 'mn.com', and mr_a.com
- 'ma.com'.
-
- -----------------------------------------------------------------
- compr16 08-26-89 Initial release of mr.com.
- Added support for larc v3.3.
- Concatenated usage message to version ID.
- Corrected parsing of lzh archives.
- Made fr pkzip defaults user-configurable.
- Changed fr arc-format pak default to Crunch.
- Merged fr switch letters and operation.
- Removed fr switch letter configurability.
- Reversed fr arc-format pak and pkarc/xarc
- precedence.
- Adjusted fr zoo and looz precedence.
- Added history section to dox.
-
- -----------------------------------------------------------------
- compr15 08-12-89 Added support for pkzip/unzip v1.0x.
- Added support for all pre-Crunch arc formats.
- Changed fr pkzip default to Implode for v1.01.
- Made fr pak v2.x default user-configurable.
- Added fr 'S' switch.
- Made fr switch letters user-configurable.
- Adjusted fr arc-format pak and pkarc/xarc
- precedence.
- Optimized utilities for A86 v3.21 assembler.
-
- -----------------------------------------------------------------
- compr14 08-02-89 Added support for pak v2.x.
- Removed support for pkpak/unpak and tau.
- Added version ID.
- Changed fr true-pak pak default to Distill for
- v2.x.
- Added fr 'C' switch.
- Adjusted fr zoo and looz precedence.
-
- -----------------------------------------------------------------
- compr13 07-27-89 Modified error handling and display.
- Corrected parsing of Packed arc-format archives.
-
- -----------------------------------------------------------------
- compr12 07-20-89 Added support for pkpak/unpak v3.61.
- Added fr 'c' and 's' switches.
- Changed fr pkzip v0.92 default to Reduce4.
-
- -----------------------------------------------------------------
- compr11 07-11-89 Initial release of fr.com and vw.com.
- Fixed parsing of Squashed true-pak archives.
- Added archiver version and switch table to dox.
-
- -----------------------------------------------------------------
- xt10 07-05-89 Initial release of xt.com.
-
- -----------------------------------------------------------------
-
- ----------------end-of-author's-documentation---------------
-
- Software Library Information:
-
- This disk copy provided as a service of
-
- Public (software) Library
-
- We are not the authors of this program, nor are we associated
- with the author in any way other than as a distributor of the
- program in accordance with the author's terms of distribution.
-
- Please direct shareware payments and specific questions about
- this program to the author of the program, whose name appears
- elsewhere in this documentation. If you have trouble getting
- in touch with the author, we will do whatever we can to help
- you with your questions. All programs have been tested and do
- run. To report problems, please use the form that is in the
- file PROBLEM.DOC on many of our disks or in other written for-
- mat with screen printouts, if possible. PsL cannot debug pro-
- programs over the telephone, though we can answer questions.
-
- Disks in the PsL are updated monthly, so if you did not get
- this disk directly from the PsL, you should be aware that the
- files in this set may no longer be the current versions. Also,
- if you got this disk from another vendor and are having prob-
- lems, be aware that some files may have become corrupted or
- lost by that vendor. Get a current, working disk from PsL.
-
- For a copy of the latest monthly software library newsletter
- and a list of the 3,000+ disks in the library, call or write
-
- Public (software) Library
- P.O.Box 35705 - F
- Houston, TX 77235-5705
-
- Orders Only:
- 1-800-2424-PSL
- FAX: 713-524-6398
- CompuServe: 71355,470
- MC/Visa/AmEx/Discover
-
- Outside of U.S. or in Texas
- or for general information,
- Call 1-713-524-6394
-
-